
/*结构体
// 用户自定义的数据类型，允许用于存储不同的数据类型
// 三种定义方式：
struct 类型名称{成员列表}
函数参数：
值传递 函数中改变值，不会影响其他地方值
地址传递 函数中改变值，会同步改变其他地方值

结构体数组
*/
#include <stdio.h>
#include <iostream>
#include <string>
#include <ctime>
// #include <math.h>
using namespace std;
struct Hero
{
    string name;
    int age;
    string sex;
};
void bubbleSort(Hero arr[])
{
    for (int i = 0; i < 4; i++)
    {
        for (int j = i+1; j < 5; j++)
        if (arr[i].age < arr[j].age)
        {

            struct Hero temp = arr[j];
            arr[j] = arr[i];
            arr[i] = temp;
        }
    }
    for(int i=0;i<5;i++){
        cout<<arr[i].name<<" "<<arr[i].age<<endl;
    }
}

int main()
{

    struct Hero mansArray[5] = {{"刘备", 23, "男"},
                                {"关羽", 22, "男"},
                                {"张飞", 20, "男"},
                                {"赵云", 21, "男"},
                                {"貂蝉", 19, "女"}};
    bubbleSort(mansArray);
}